[レポート]Tableau 9.0 ロードショー ブレイクアウトセッション「企業向け Tableau」
2015年06月10日に開催されたTableau 9.0 ロードショー | Tableau Softwareに参加してきました。
今回はそこで開催されたブレイクアウトセッション、「企業向け Tableau」のレポートをお届けします。
キーノートと他セッションの模様についてはTableau 9.0 ロードショー Tokyo に参加してきた #Tableau | Developers.IOにて詳細が伝えられていますので、こちらのエントリも合わせてご参照ください!!
セッションの概要
スピーカーはTableau Japan 株式会社 セールスコンサルタントマネージャーの小口 尋之さんです。
「企業向け Tableau」というタイトルから企業内でのTableauのユースケースなどビジネスよりな内容を想像していましたが、実際は主にTableau Server 9.0の機能改善点についてTableau Serverのアーキテクチャにまで踏み込んで解説するというエンジニア向けの内容となっておりました。想像とは異なってはいましたが、とても興味深いお話を聞くことができました。
Tableau Server 9.0のGUIの改善点
はじめに簡単なデモとともにTableau Server 9.0のGUIの改善点についての紹介がありました。
- GUIについては目新しさは無いものの、分かりやすさを重視のすっきりとした画面に。
- 無限スクロール。ページを遷移することなくプロジェクトの一覧を閲覧することが可能に。
- SOLRの導入による、サーチ、フィルタ機能の改善。画面に表示されていないプロジェクト、ワークブックを含めた横断的な検索が可能に。
- パンくずリストの導入。
- ワークブック編集機能の改善。計算フィールド、日付型データの連続/不連続の選択が可能に。
- 全体的な操作性の向上。画面遷移なく様々な操作が可能に。
これらの機能改善にあたって、Java、C、Perlなど様々な言語の寄せ集めで成り立っていたプログラムをJavaのみで作りなおしたそうです。(この大幅な変更に対しては"大手術"という表現が使われていました。)
企業向け機能の改善
企業向けという観点で、パフォーマンス、拡張性、高可用性、セキュリティ、管理、モニタリング、ガバナンスといった観点の機能改善が行われたそうですが、本セッションでは特にパフォーマンス改善の部分が話題の中心となっていました。(下表が主要なパフォーマンス改善ポイントとなります。)
クエリの改善 | データエンジンの改善 | Serverの改善 |
---|---|---|
パラレルクエリ | ベクトル化 | クエリの改善 |
クエリ統合 | パラレル集計 | レンダリングのパフォーマンス |
クエリキャッシュの保存 | _ | データサーバでの一時的な表の利用 |
Tableau Publicのトップ100のワークブックの描画を例に取ると、9.0ではVersion8.3との比較で4倍ほど速度が向上しているそうです。
パラレルクエリ
- 重複するクエリと削除
- 独立したクエリを認識
- キャッシュヒットを考慮し、クエリを並び替え
- 独立したクエリを並行処理
などの動作改善を行っった結果、クエリに関しては多くのケースで2〜4倍処理速度が改善しているそうです。
クエリ統合
Version 8.3では、例えば4シートからなるダッシュボードではそれぞれのシートに対して1つのクエリ、合計で4つのクエリが発行されていましたが、9.0ではこれが1クエリに統合されるようになったそうです。スライドでは処理時間が14秒 → 3.9秒に短縮された例が紹介されていました。
外部クエリキャッシュ
キャッシュをノード間で共有できるようになったそうです。Version 8.3では同一ノード内のVizQL間でもキャッシュが共有されていなかったことを考えると大きな機能改善かと思います。
因みにキャッシュサーバにはRedisが使われいるそうです。
データエンジンの改善
パラレル集計
マルチコアを使用し、結合や集計を並列に処理できるようになったそうです。 (ただし64,000行以上のデータが無いとパラレル集計が動作しないようです。)
ベクトル化
繰り返し処理されるシンプルな演算処理のパフォーマンスが向上しているとのことです。
REST API
パフォーマンス改善以外では、REST APIのパーミッション設定対応が印象に残りました。REST API自体はVersion 8.2から使用可能でしたが、9.0ではこれが強化されたそうです。
これまでパーミッション設定はGUI操作からのみ実行可能だったためユーザ数が多い場合などはパーミッションのメンテナンスに多大なコストが発生していましたが、 REST API対応によってパーミッションの一括変更や自動化が可能となることで、運用コストの削減が期待できるかと思います。
パーミッション設定の他、データソースのコネクションの切替え(開発、検証、本番を切り替えるなど)もREST APIの強化ポイントとして紹介されていました。
その他の機能改善
Enterprise-Readyを意識したものとして、
- スケーラビリティの改善
- Tableau Serverの新アーキテクチャと高可用性
- 新しいサーバプロセス
- 管理ビューの強化
などの改善ポイントが簡単に紹介されていました。
そして最後に、、、
「Tabluea Mobileに関しては、、、特に報告することはございません(笑)」というオチとともに、セッションは終了となりました。Tableau Mobileについては今後のアップデートに期待しましょうw
感想
本セッションでもキーノートと同様にTableau 9.0の開発コンセプトとして「Flow」というキーワードが登場していました。9.0での様々なパフォーマンス改善は、Tableauでのインタラクティブな処理をブロックする要素を排除しユーザーに最高のFlow体験をもたらすための重要な施策であると感じました。
個人的にはREST APIに興味を引かれたので、今後パーミッション設定などの新機能を試していきたいと思います!